package projeto.administrativo.checklist.cih;

import java.util.ArrayList;
import java.util.List;

import nucleo.comuns.visao.NucleoTab;
import plataforma.base.cdp.ExcecaoRegraNegocio;
import plataforma.crudestatico.cih.FormularioDadosCRUDEstatico;
import projeto.administrativo.checklist.cdp.KChecklist;


public class FormDadosKChecklist extends
		FormularioDadosCRUDEstatico<KChecklist> {

	/**
	 * 
	 */
	private static final long serialVersionUID = 3825624799729224189L;
	AbaDadosKChecklist abaDadosKChecklist;
	AbaKItemChecklist abaKItemChecklist;

	@Override
	protected List<NucleoTab> definirTabs() {

		List<NucleoTab> listaTabs = new ArrayList<NucleoTab>();
		abaDadosKChecklist = new AbaDadosKChecklist();
		abaKItemChecklist = new AbaKItemChecklist();

		listaTabs.add(abaDadosKChecklist);
		listaTabs.add(abaKItemChecklist);

		return listaTabs;
	}

	@Override
	protected void preencherDadosObjeto(KChecklist objeto) {

		objeto.setDescricao(abaDadosKChecklist.getCampoDescricao().getValue());
		objeto.setListaKItemChecklist(abaKItemChecklist.getKItemChecklists());

	}

	@Override
	protected void preencherDadosTela(KChecklist objeto)
			throws ExcecaoRegraNegocio {
		
		abaKItemChecklist.setKItemChecklists(objeto.getListaKItemChecklist());
		
		abaDadosKChecklist.getCampoDescricao()
				.setValue(objeto.getDescricao());
		abaDadosKChecklist.campoDescricao.setFocus(true);
		abaDadosKChecklist.campoDescricao.focus();

	}
	
	@Override
	protected void configurarConstraints() {
		abaDadosKChecklist.campoDescricao.setConstraint("no empty");		
	}

	@Override
	public boolean isValid() {
		return abaDadosKChecklist.isValid();
	}
}
